package demo11;

/*
 * 抽象方法：加上abstract关键字，去掉大括号，以分号结束。
 * 抽象类：抽象方法所在的类必须是抽象类，在class前写上abstract关键字即可。
 * 
 * 使用抽象类和抽象方法步骤：
 * 1. 不能直接new创建抽象类对象
 * 2. 必须有一个子类继承抽象父类
 * 3. 子类必须覆盖重写抽象父类中所有的抽象方法
 *  覆盖重写（实现）：去掉抽象方法的abstract关键字，然后补上方法体大括号的内容
 * 4. 创建子类对象试用
 */
public abstract class Animal {
    // 这是一个抽象方法，代表吃东西，具体吃什么（大括号的内容）不确定
    public abstract void eat();

    // 普通的成员方法同样可以定义
    public void normalMethod() {
        // ...
    }
}
